namespace Vibstudio.NetConfigurator.Model
{
    public class ResultValidation<T> where T : class
    {
        #region Ctor(s)

        public ResultValidation(string owner, T target)
            : this(owner, target, true, string.Empty)
        {
        }

        public ResultValidation(string owner, T target, bool isValid)
            : this(owner, target, isValid, string.Empty)
        {
        }

        public ResultValidation(string owner, T target, bool isValid, string message)
        {
            Owner = owner;
            Target = target;
            IsValid = isValid;
            Message = message;
        }

        #endregion

        #region Public Properties

        public string Owner { get; set; }

        public T Target { get; set; }

        public bool IsValid { get; set; }

        public string Message { get; set; }

        #endregion
    }
}